package models

import (
	"context"
	"go.mongodb.org/mongo-driver/bson"
	"log"
)

// RoomBasic 表示聊天室的基本信息结构体
type RoomBasic struct {
	RoomIdentity string `bson:"room_identity "` // 聊天室编号，用于唯一标识房间
	Name         string `bson:"name"`           // 聊天室名称
	Info         string `bson:"info"`           // 聊天室简介或描述信息
	UserIdentity string `bson:"user_identity"`  // 创建者或关联用户的身份标识
	CreatedAt    int64  `bson:"created_at"`     // 聊天室的创建时间（Unix 时间戳，单位：秒）
	UpdatedAt    int64  `bson:"updated_at"`     // 聊天室的更新时间（Unix 时间戳，单位：秒）
}

// 返回数据库相关表名
func (RoomBasic) CollectionName() string {
	return "room_basic"
}

func InsertOneRoomBasic(rb *RoomBasic) error {
	_, err := Mongo.Collection(RoomBasic{}.CollectionName()).InsertOne(context.Background(), rb)
	return err
}
func DeleteRoomBasic(roomIdentity string) error {
	filter := bson.M{"room_identity": roomIdentity}
	_, err := Mongo.Collection(MessageBasic{}.CollectionName()).DeleteOne(context.Background(), filter)
	if err != nil {
		log.Println("Delete error:", err.Error())
		return err
	}
	return nil
}
